package com.dingding.service.user.core.dao;

import com.dingding.common.core.beans.UserAttached;

/**
 * 
 * @ClassName: IUserAttachedDao 
 * @Description:用户属性附属表操作DAO
 * @author CHEHAUNBO 
 * @date 2016年4月1日 下午2:27:22
 * 
 */
public interface IUserAttachedDao {

	/**
	 * 
	 * @Title: getUserAttached 
	 * @Description: 获取用户附属属性值
	 * @param userId 用户ID
	 * @param key 
	 * @return UserAttached  查询到的用户属性对象
	 * @author CHEHAUNBO
	 * 
	 */
	public UserAttached getUserAttached(String userId, String key);

	/**
	 * 
	 * @Title: isExistUserAttached
	 * @Description:根据用户ID及属性KEY，判断当前属性是否存在
	 * @param userId 用户ID
	 * @param key 属性KEY
	 * @return boolean true 成功 false 失败
	 * @author CHEHAUNBO
	 * 
	 */
	public boolean isExistUserAttached(String userId, String key);

	/**
	 * 
	 * @Title: addUserAttached
	 * @Description:根据用户ID及属性KEY，添加用户属性
	 * @param userId 用户ID
	 * @param key 属性KEY
	 * @return boolean true 成功 false 失败
	 * @author CHEHAUNBO
	 * 
	 */
	public boolean addUserAttached(String userId, String key);

	/**
	 * 
	 * @Title: updateUserAttached 
	 * @Description: 更新用户附属属性
	 * @param userId 用户ID
	 * @param key 属性KEY
	 * @param value 属性Value
	 * @return boolean  true 更新成功 false 更新失败
	 * @author CHEHAUNBO
	 * 
	 */
	public boolean updateUserAttached(String userId, String key, int value);

	/**
	 * @Title: resetUserAttached
	 * @Description: 重置用户每日签到
	 * @author yuHaiQing
	 * @return boolean    返回类型
	 */
	public boolean resetUserAttached();

}
